package com.shujia.day06;

/*
    1. 被static修饰的成员，称之为类成员，在对象创建之前就存在于方法区中静态区
    2. 被static修饰的成员,可以通过类名直接访问使用,非静态的成员必须要通过对象去调用
    3. static可以修饰成员变量和成员方法
    4. 非静态的成员方法既可以访问静态的成员[变量或方法],也可以访问非静态的成员[变量或方法]
    5. 静态的成员方法只能访问静态的成员[变量或方法]
    6. 静态的成员方法不能使用this关键字的

 */

class Demo7{
    int a = 10;
    static int b = 20;
    public void fun1(){
//        System.out.println(a);
//        System.out.println(b);
//        show1();
//        show2();

        int a = 30;
        System.out.println(this.a);
    }

    public static void fun2(){
//        System.out.println(a);
//        System.out.println(b);
//        show2();
//        show1();

        int a = 40;
//        System.out.println(this.a);
//        Demo7 demo7 = new Demo7();
//        System.out.println(demo7.a);
    }


    public static void show2(){
        System.out.println("这是静态的成员方法");
    }
    public void show1(){
        System.out.println("这是非静态的成员方法");
    }



}

public class StaticDemo {
    public static void main(String[] args) {
        Demo7 demo7 = new Demo7();
//        demo7.fun1();
//        demo7.fun2();
        Demo7.fun2();
    }
}
